/**
 * 入口文件
*/
import Koa from 'koa';
import path from 'path';
import helmet from 'koa-helmet';
import statics from 'koa-static';
import koaBody from 'koa-body';
import cors from '@koa/cors';
import json from 'koa-json';
import compose from 'koa-compose';
import compress from 'koa-compress';
import router from './routes/routes';

const app = new Koa();

// 判断是否为开发环境
const isDev = process.env.NODE_ENV !== 'production';

// 集成中间件
const middleware = compose([
  koaBody(),
  statics(path.join(__dirname, './assets')), // 设置静态资源存放路径
  cors(),
  json({ pretty: false, param: 'pretty' }),
  helmet(),
]);

// 生产环境压缩中间件
if (!isDev) {
  app.use(compress());
}

app.use(middleware).use(router());

app.listen(3003);